package com.session04;

import java.util.Scanner;

public class Test3 {
    public static void main(String[] args) {
/*      双色球的中奖程序
        需求：
        1). 系统产生一个双色球中奖号码
            （双色球的规则：6个红球+1个蓝球组成，红球范围：1-33，蓝色范围：1-16
        6个红球不能重复，蓝球可以和红球的值相同）
        2). 用户输入一组双色球号码，然后和系统产生的号码进行比较，给出比较的结果
        （中奖规则：
        一等奖：6 + 1
        二等奖：6 + 0
        三等奖：5 + 1
        四等奖：5 + 0 或 4 + 1
        五等奖：4 + 0或 3 + 1
        六等奖：1蓝球相符既可）*/

        int[] balls = new int[7];
        //系统生成6个不重复的红球
        for (int i = 0; i < balls.length - 1; i++) {
            balls[i] = (int) (Math.random() * 33 + 1);
            for (int j = 0; j < i; j++) {
                if (balls[i] == balls[j]) {
                    i--;
                    break;
                }
            }
        }
        //系统生成一个篮球
        balls[6] = (int) (Math.random() * 16 + 1);

        //打印生成的7个球
        for (int element : balls) {
            System.out.print(element + " ");
        }

        System.out.println("");

        Scanner num = new Scanner(System.in);

        int[] reds = new int[6];
        System.out.println("请输入红球");
        for (int i = 0; i < reds.length; i++) {
            reds[i] = num.nextInt();
            for (int j = 0; j < i; j++) {
                if (reds[i] == reds[j]) {
                    System.out.println("不要输入重复的数，请重新输入");
                    i--;
                    break;
                }
            }
        }

        int[] blue = new int[1];
        System.out.println("请输入蓝球");
        blue[0] = num.nextInt();

        //红篮球正确个数判断
        int countRed = 0, countBlue = 0;
        for (int i = 0; i < balls.length - 1; i++) {
            for (int j = 0; j < reds.length; j++) {
                if (balls[i] == reds[j]) {
                    countRed++;
                    break;
                }
            }
        }
        if (balls[6] == blue[0]) {
            countBlue++;
        }

        //最终判断条件
        if (countRed == 6 && countBlue == 1) {
            System.out.println("恭喜你获得一等奖");
        } else if (countRed == 6 && countBlue == 0) {
            System.out.println("恭喜你获得二等奖");
        } else if (countRed == 5 && countBlue == 1) {
            System.out.println("恭喜你获得三等奖");
        } else if ((countRed == 5 && countBlue == 0) || (countRed == 4 && countBlue == 1)) {
            System.out.println("恭喜你获得四等奖");
        } else if ((countRed == 4 && countBlue == 0) || (countRed == 3 && countBlue == 1)) {
            System.out.println("恭喜你获得五等奖");
        } else if (countBlue == 1) {
            System.out.println("恭喜你获得六等奖");
        } else {
            System.out.println("你未获奖");
        }
    }
}
